local function init()
    local rgb = {
        width = 800,
        height = 480,
        bpp = 16,
        bus = disp.BUS_MIPI,
        xoffset = 0,
        yoffset = 0,
        freq = 125000000,
        pinrst = pio.P0_20,
        pinrs = 0xffff,

        id_value = 0xc1,

        porch_vs = 13,
        porch_vbp = 10,
        porch_vfp = 22,
        porch_hs = 30,
        porch_hbp = 16,
        porch_hfp = 210,

        cmd_type = 1,

        continue_mode = 1,

        initcmd = {
            0x0002007A, 0x000300C1,

            0x00020020 ,0x00030020,
			0x00020021 ,0x000300E0,
			0x00020022 ,0x00030013,
           -- 0x00020020, 0x00030000,
           -- 0x00020021, 0x00030058,
           -- 0x00020022, 0x00030024,
            0x00020023, 0x00030008,
            0x00020024, 0x00030014,
            0x00020025, 0x00030008,
            0x00020026, 0x00030000,

            0x00020027, 0x00030008,
            0x00020028, 0x00030005,
            0x00020029, 0x00030008,
            0x00020034, 0x00030080,

            0x00020036, 0x00030014,
            0x00020086, 0x00030029,
            0x000200B5, 0x000300A0,
            0x0002005C, 0x000300FF,

            0x0002002A, 0x00030001,
            0x00020056, 0x00030093,
            0x0002006B, 0x00030071,
            0x00020069, 0x00030020,

            0x00020010, 0x00030055,
            0x00020011, 0x00030088, 
            0x000200B6, 0x00030020,
            0x00020051, 0x00030020,
            0x00020090, 0x00030018,
            0x00020091, 0x00030018, 
            0x00020009, 0x00030010

        },

        sleepcmd = {0x00020028, 0x00020010},

        wakecmd = {0x00020011, 0x00020029}
    }

    local gc9503 = {
        width = 480,
        height = 854,
        bpp = 16,
        bus = disp.BUS_MIPI,
        xoffset = 0,
        yoffset = 0,
        freq = 200000000,
        pinrst = pio.P0_20,
        pinrs = 0xffff,
        continue_mode = 1,

        porch_vs = 2,
        porch_vbp = 15,
        porch_vfp = 8,
        porch_hs = 10,
        porch_hbp = 30,
        porch_hfp = 30,

        id_value = 0x95,

        initcmd = {

            0x000200F0, 0x00030055, 0x000300AA, 0x00030052, 0x00030008,
            0x00030000, 0x000200F6, 0x0003005A, 0x00030087, 0x000200C1,
            0x0003003F, 0x000200C2, 0x0003000E, 0x000200C6, 0x000300F8,

            0x000200C9, 0x00030010, 0x000200CD, 0x00030025, 0x00020087,
            0x00030004, 0x00030003, 0x00030066, 0x00020086, 0x00030099,
            0x000300a3, 0x000300a3, 0x00030051, 0x000200F8, 0x0003008A,

            0x000200AC, 0x00030065, 0x000200A7, 0x00030047, 0x000200A0,
            0x000300DD, 0x000200FA, 0x00030008, 0x00030008, 0x00030000,
            0x00030004, 0x000200A3, 0x0003002E, 0x000200FD, 0x00030028,
            0x0003003c, 0x00030000, 0x00020071, 0x00030048, 0x00020072,
            0x00030048, 0x00020073, 0x00030000, 0x00030044, 0x00020097,
            0x000300EE, 0x00020083, 0x00030093, 0x0002009A, 0x00030084,

            0x0002009B, 0x00030054, 0x00020082, 0x0003005d, 0x0003005d,

            0x000200B1, 0x00030010, 0x0002007A, 0x00030013, 0x0003001A,

            0x0002007B, 0x00030013, 0x0003001A, 0x00020064, 0x00030018,
            0x00030009, 0x00030003, 0x00030059, 0x00030003, 0x00030003,
            0x00030018, 0x00030008, 0x00030003, 0x0003005A, 0x00030003,
            0x00030003, 0x0003007A, 0x0003007A, 0x0003007A, 0x0003007A,

            0x00020067, 0x00030018, 0x00030007, 0x00030003, 0x0003005B,
            0x00030003, 0x00030003, 0x00030018, 0x00030006, 0x00030003,
            0x0003005C, 0x00030003, 0x00030003, 0x0003007A, 0x0003007A,
            0x0003007A, 0x0003007A, 0x00020068, 0x00030000, 0x00030008,
            0x0003000A, 0x00030008, 0x00030009, 0x00030000, 0x00030000,
            0x00030008, 0x0003000A, 0x00030008, 0x00030009, 0x00030000,
            0x00030000, 0x00020060, 0x00030018, 0x00030008, 0x0003007A,
            0x0003007A, 0x00030018, 0x00030002, 0x0003007A, 0x0003007A,

            0x00020063, 0x00030018, 0x00030002, 0x0003006D, 0x0003006D,
            0x00030018, 0x00030007, 0x0003007A, 0x0003007A, 0x00020069,
            0x00030014, 0x00030022, 0x00030014, 0x00030022, 0x00030044,
            0x00030022, 0x00030008, 0x000200D1, 0x00030000, 0x00030000,
            0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000,
            0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE,
            0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001,
            0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023,
            0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002,
            0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029,
            0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003,
            0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5,
            0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003,
            0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,

            0x000200D2, 0x00030000, 0x00030000, 0x00030000, 0x00030008,
            0x00030000, 0x0003001D, 0x00030000, 0x0003005F, 0x00030000,
            0x00030091, 0x00030000, 0x000300CE, 0x00030000, 0x000300F5,
            0x00030001, 0x0003002B, 0x00030001, 0x0003007f, 0x00030001,
            0x000300ed, 0x00030002, 0x00030023, 0x00030002, 0x00030078,
            0x00030002, 0x000300b2, 0x00030002, 0x000300b4, 0x00030002,
            0x000300f1, 0x00030003, 0x00030029, 0x00030003, 0x00030049,
            0x00030003, 0x0003006d, 0x00030003, 0x00030082, 0x00030003,
            0x0003009b, 0x00030003, 0x000300A5, 0x00030003, 0x000300B0,
            0x00030003, 0x000300B5, 0x00030003, 0x000300BF, 0x00030003,
            0x000300DE, 0x00030003, 0x000300FF, 0x000200D3, 0x00030000,
            0x00030000, 0x00030000, 0x00030008, 0x00030000, 0x0003001D,
            0x00030000, 0x0003005F, 0x00030000, 0x00030091, 0x00030000,
            0x000300CE, 0x00030000, 0x000300F5, 0x00030001, 0x0003002B,
            0x00030001, 0x0003007f, 0x00030001, 0x000300ed, 0x00030002,
            0x00030023, 0x00030002, 0x00030078, 0x00030002, 0x000300b2,
            0x00030002, 0x000300b4, 0x00030002, 0x000300f1, 0x00030003,
            0x00030029, 0x00030003, 0x00030049, 0x00030003, 0x0003006d,
            0x00030003, 0x00030082, 0x00030003, 0x0003009b, 0x00030003,
            0x000300A5, 0x00030003, 0x000300B0, 0x00030003, 0x000300B5,
            0x00030003, 0x000300BF, 0x00030003, 0x000300DE, 0x00030003,
            0x000300FF, 0x000200D4, 0x00030000, 0x00030000, 0x00030000,
            0x00030008, 0x00030000, 0x0003001D, 0x00030000, 0x0003005F,
            0x00030000, 0x00030091, 0x00030000, 0x000300CE, 0x00030000,
            0x000300F5, 0x00030001, 0x0003002B, 0x00030001, 0x0003007f,
            0x00030001, 0x000300ed, 0x00030002, 0x00030023, 0x00030002,
            0x00030078, 0x00030002, 0x000300b2, 0x00030002, 0x000300b4,
            0x00030002, 0x000300f1, 0x00030003, 0x00030029, 0x00030003,
            0x00030049, 0x00030003, 0x0003006d, 0x00030003, 0x00030082,
            0x00030003, 0x0003009b, 0x00030003, 0x000300A5, 0x00030003,
            0x000300B0, 0x00030003, 0x000300B5, 0x00030003, 0x000300BF,
            0x00030003, 0x000300DE, 0x00030003, 0x000300FF, 0x000200D5,
            0x00030000, 0x00030000, 0x00030000, 0x00030008, 0x00030000,
            0x0003001D, 0x00030000, 0x0003005F, 0x00030000, 0x00030091,
            0x00030000, 0x000300CE, 0x00030000, 0x000300F5, 0x00030001,
            0x0003002B, 0x00030001, 0x0003007f, 0x00030001, 0x000300ed,
            0x00030002, 0x00030023, 0x00030002, 0x00030078, 0x00030002,
            0x000300b2, 0x00030002, 0x000300b4, 0x00030002, 0x000300f1,
            0x00030003, 0x00030029, 0x00030003, 0x00030049, 0x00030003,
            0x0003006d, 0x00030003, 0x00030082, 0x00030003, 0x0003009b,
            0x00030003, 0x000300A5, 0x00030003, 0x000300B0, 0x00030003,
            0x000300B5, 0x00030003, 0x000300BF, 0x00030003, 0x000300DE,
            0x00030003, 0x000300FF, 0x000200D6, 0x00030000, 0x00030000,
            0x00030000, 0x00030008, 0x00030000, 0x0003001D, 0x00030000,
            0x0003005F, 0x00030000, 0x00030091, 0x00030000, 0x000300CE,
            0x00030000, 0x000300F5, 0x00030001, 0x0003002B, 0x00030001,
            0x0003007f, 0x00030001, 0x000300ed, 0x00030002, 0x00030023,
            0x00030002, 0x00030078, 0x00030002, 0x000300b2, 0x00030002,
            0x000300b4, 0x00030002, 0x000300f1, 0x00030003, 0x00030029,
            0x00030003, 0x00030049, 0x00030003, 0x0003006d, 0x00030003,
            0x00030082, 0x00030003, 0x0003009b, 0x00030003, 0x000300A5,
            0x00030003, 0x000300B0, 0x00030003, 0x000300B5, 0x00030003,
            0x000300BF, 0x00030003, 0x000300DE, 0x00030003, 0x000300FF,

            0x00020011, 0x00030000, 0x00020029, 0x00030000

        },

        sleepcmd = {0x00020028, 0x00020010},

        wakecmd = {0x00020011, 0x00020029}
    }

    local icool = {
        width = 480,
        height = 854,
        bpp = 16,
        bus = disp.BUS_MIPI,
        xoffset = 0,
        yoffset = 0,
        freq = 125000000,
        pinrst = pio.P0_18,
        pinrs = 0xffff,

        id_value = 0x80,

        initcmd = {

            0x000200FF, 0x000300FF, 0x00030098, 0x00030006, 0x00030004,
            0x00030001, 0x00020008, 0x00030010, 0x00020020, 0x00030000,

            0x00020021, 0x00030001, 0x00020030, 0x00030001, 0x00020031,
            0x00030002, 0x00020060, 0x00030007, 0x00020061, 0x00030006,

            0x00020062, 0x00030006, 0x00020063, 0x00030004, 0x00020040,
            0x00030018, 0x00020041, 0x00030033, 0x00020042, 0x00030011,
            0x00020043, 0x00030009, 0x00020044, 0x0003000c, 0x00020046,
            0x00030055, 0x00020047, 0x00030055, 0x00020045, 0x00030014,

            0x00020050, 0x00030050, 0x00020051, 0x00030050, 0x00020052,
            0x00030000, 0x00020053, 0x00030038, 0x000200A0, 0x00030000,
            0x000200A1, 0x00030009, 0x000200A2, 0x0003000C, 0x000200A3,
            0x0003000F, 0x000200A4, 0x00030006, 0x000200A5, 0x00030009,
            0x000200A6, 0x00030007, 0x000200A7, 0x00030016, 0x000200A8,
            0x00030006, 0x000200A9, 0x00030009, 0x000200AA, 0x00030011,
            0x000200AB, 0x00030006, 0x000200AC, 0x0003000E, 0x000200AD,
            0x00030019, 0x000200AE, 0x0003000E, 0x000200AF, 0x00030000,

            0x000200C0, 0x00030000, 0x000200C1, 0x00030009, 0x000200C2,
            0x0003000C, 0x000200C3, 0x0003000F, 0x000200C4, 0x00030006,
            0x000200C5, 0x00030009, 0x000200C6, 0x00030007, 0x000200C7,
            0x00030016, 0x000200C8, 0x00030006, 0x000200C9, 0x00030009,
            0x000200CA, 0x00030011, 0x000200CB, 0x00030006, 0x000200CC,
            0x0003000E, 0x000200CD, 0x00030019, 0x000200CE, 0x0003000E,
            0x000200CF, 0x00030000, 0x000200FF, 0x000300FF, 0x00030098,
            0x00030006, 0x00030004, 0x00030000, 0x00020029, 0x00020011
        },

        sleepcmd = {0x00020010},

        wakecmd = {0x00020011}
    }

    -- disp.init(rgb, gc9503, icool)
    disp.init(rgb)
    disp.clear()
    disp.update()
end

pmd.ldoset(15, pmd.LDO_VIBR)

-- pmd.ldoset(8, pmd.LDO_VLCD)
local blackLight = pins.setup(pio.P0_18, 0)
function backlightopen(on)
    if on then
        blackLight(1)
        log.info("你打开了背光")
    else
        blackLight(0)
        log.info("你关闭了背光")
    end
end
rtos.sleep(1000)
init()
backlightopen(true)